# Makefile  

# 编译器  
CC = gcc  

# 编译选项  
CFLAGS = -Wall -Wextra -std=c99  

# 源文件列表  
SOURCES = listargs.c pipe.c pipedemo.c pipedemo2.c \
          stdinredir1.c stdinredir2.c testtty.c whotofile.c  

# 目标可执行文件列表  
TARGETS = listargs pipe pipedemo pipedemo2 \
          stdinredir1 stdinredir2 testtty whotofile  

# 默认目标  
all: $(TARGETS)  

# 模式规则：将每个 .c 文件编译成对应的可执行文件  
%: %.c  
	$(CC) $(CFLAGS) -o $@ $<  

# 清理生成的可执行文件  
clean:  
	rm -f $(TARGETS)  

.PHONY: all clean
